S3 提供一系列安全存取資料的機制。S3資料管理者可以透過IAM Policy或者Bucket Policy來決定賦予使用者多少權限來去操作資料。此外,我們也可以把S3 Bucket內的資料(objects)做加密的處理。
IAM Policy
IAM Policy比較像是針對使用者權限來進行管理。舉例來說,資料工程師在取得一組鑰匙後(access key, secret key),將根據這組鑰匙背後的IAM Policy,對某Bucket下的資料進行操作。例如被允許對產品A與產品B的資料改寫。
Bucket Policy
由資料源頭做管理,決定誰可以針對資料進行什麼方式的操作。
我們可利用JSON來編輯Bucket Policy,其中幾個欄位如下:
例如,針對Bucket名為行銷部以及Prefix名為服飾的資料,允許使用者去做資料的取得(GET)。
Encryption
資料物件(object)的加密一共有四種機制。三種屬於server side(在aws上搞定),一種屬於client side(在自己的機器上搞定)。